package originatorv2;

import mementov2.MementoV2;
import mementov2.SelectionnerMemento;
import command.Command;
import command.Selectionner;
import caretakerv2.Enregistreur;

public class SelectionnerOriginator implements OriginatorV2 {
	private Enregistreur enregistreur;
	
	private Command selectionner;
	
	private int debutSelection = 0;
	
	private int finSelection = 0;

	public SelectionnerOriginator(Enregistreur enreg, Command cmd) {
		super();
		this.enregistreur = enreg;
		this.selectionner = cmd;
	}

	public void execute() {
		System.out.println("ici");
		((Selectionner) selectionner).execute();
		debutSelection = ((Selectionner) selectionner).getDeb();
		finSelection = ((Selectionner) selectionner).getFin();
		MementoV2 m = new SelectionnerMemento(debutSelection, finSelection, (Command) this);
		enregistreur.ajouterMemento(m);
	}

	public void setMemento(MementoV2 m) {
		((Selectionner) selectionner).setDeb(debutSelection);
		((Selectionner) selectionner).setFin(finSelection);
		((Selectionner) selectionner).executeMem();
	}
}
